#ifndef  UL_SINGLE_POP_STACK_H_
#define  UL_SINGLE_POP_STACK_H_
#include "ul_link.h"
namespace LinuxNetworkUtility
{
  /// single thread pop, multi-thread push, lock-free
  class UlSinglePopStack
  {
  public:
    struct TskHandle
    {
      SLink link_;
      char  tsk_[0];
    };
    UlSinglePopStack();
    ~UlSinglePopStack();  

    void push_tsk(TskHandle *hdl); 
    TskHandle *pop_tsk();
  private:
    void *head_;
  };
}
#endif
